ISO 8583
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
ISO 8583은 1987년에 처음 제정된 금융 거래 메시지 표준으로, 카드 거래를 포함한 다양한 금융 거래에 사용된다. 메시지 유형 지표(MTI), 비트맵, 데이터 요소로 구성되며, MTI는 메시지 기능과 버전을 나타낸다. 비트맵은 메시지 내 데이터 요소의 존재 여부를 표시하며, 데이터 요소는 거래 정보를 담는 개별 필드이다. ISO 8583은 여러 차례 개정되었으며, 카드 소지자가 시작하는 거래, 보안 키 교환 등 다양한 용도로 사용된다.
더 읽어볼만한 페이지
- ISO 표준 - 국제 표준화 기구
국제 표준화 기구(ISO)는 167개국 국가 표준 기구를 회원으로 둔 비정부 기구로서, 상품 및 서비스 관련 국제 표준을 제정하며, 국제전기기술위원회(IEC)와 협력하고 대한민국은 기술표준원을 통해 정회원으로 활동한다. - ISO 표준 - ISO 3166-1
ISO 3166-1은 국가 식별을 위한 국제 표준으로 숫자 코드, 알파벳 두 글자(alpha-2), 세 글자(alpha-3) 코드 시스템을 제공하며, 유엔의 통계적 분류와 정치적 상황을 고려하여 코드가 할당되고 필요에 따라 업데이트된다.
ISO 8583 |
---|
2. 역사
ISO 8583 표준은 1987년에 처음 제정되었다. 1987년 버전(ISO 8583:1987)은 최대 128개의 데이터 요소를 정의했다.
카드 기반 거래는 일반적으로 POS 단말기 또는 현금 자동 입출금기(ATM)와 같은 장치에서 시작되어, 여러 네트워크를 거쳐 카드 발급 시스템으로 전달된다. 이 과정에서 카드 정보, 단말기 정보, 거래 정보 등이 포함된 메시지가 오고 간다.[1][2][3] 카드 발급 시스템은 이 정보를 바탕으로 거래를 승인하거나 거절하고, 그 결과를 다시 단말기로 보내준다.
이후 1993년에 개정된 버전(ISO 8583:1993)에서는 새로운 정의가 추가되고 일부는 삭제되었으나, 메시지 형식 자체는 변경되지 않았다.
2003년에 나온 버전(ISO 8583:2003)에서는 이전 버전들과 비교하여 일부 차이가 있다. 예를 들어, 1987년판과 1993년판에서 별도로 사용되던 통화 요소가 2003년판에서는 각 금액 항목의 하위 필드로 포함되도록 변경되었다. 하지만 현재 ISO 8583의 2003년판은 널리 사용되지 않고 있다.
3. 구성 요소
ISO 8583은 이러한 금융 거래 메시지의 형식과 통신 흐름을 정의하는 국제 표준으로, 서로 다른 시스템 간의 원활한 정보 교환을 가능하게 한다. ISO 8583 메시지는 크게 다음과 같은 세 가지 주요 부분으로 구성된다.
ISO 8583 표준 자체는 여러 버전(1987, 1993, 2003년판 등)이 존재하며, 버전 간에 일부 필드의 정의나 사용 방식에 차이가 있다. 예를 들어, 초기 버전의 통화 요소는 2003년 버전에서 각 금액 요소의 하위 필드로 변경되었다. 하지만 실제 금융 네트워크나 시스템에서는 표준을 그대로 사용하기보다는 필요에 따라 일부 필드를 추가하거나 수정하는 등 사용자 정의하여 사용하는 경우가 많다. 또한 ISO 8583 표준에는 메시지 라우팅 정보가 포함되어 있지 않아, 실제 통신 시에는 TPDU 헤더와 같은 추가 정보와 함께 사용되기도 한다.
3. 1. 메시지 유형 지표 (MTI)
메시지 유형 지표(Message Type Indicator, MTI)는 ISO 8583 메시지의 전반적인 기능을 나타내는 4자리 숫자 필드이다.[1] MTI의 각 자리는 메시지의 특정 속성을 정의하며, 다음과 같은 정보를 포함한다.
MTI 값은 해당 메시지가 어떤 목적으로 사용되며, 네트워크 내에서 어떤 역할을 하는지를 지정한다. 모든 시스템에서 MTI의 의미를 동일하게 해석하는 것은 아니지만, 일반적으로 사용되는 MTI 값의 예시는 다음과 같다.[1]
MTI | 의미 | 예시 |
---|---|---|
0100 | 승인 요청 | 카드 회원이 구매하기 위한 POS 단말기의 승인 요청 |
0110 | 승인 응답 | 카드 회원에게 승인하기 위한 발행사에서 POS 단말기로의 응답 |
0120 | 승인 어드바이스 | POS 단말기 고장 시 등 승인해야 하는 처리 결과 |
0121 | 승인 어드바이스 반복 | 어드바이스에서 타임아웃 발생 시 |
0130 | 승인 어드바이스 응답 | 승인 어드바이스에 대한 수신 결과 |
0200 | 금융 요청 | ATM 또는 단일 메시지 시스템의 POS 단말기 등에서 발생하는 결제 요청 |
0210 | 금융 요청 응답 | 결제 요청에 대한 발행사의 응답 |
0220 | 금융 어드바이스 | 예를 들어 호텔 체크아웃 등 승인 요청으로 시작된 일련의 거래 완료 시 사용됨 |
0221 | 금융 어드바이스 반복 | 어드바이스에서 타임아웃 발생 시 |
0230 | 금융 어드바이스 응답 | 금융 어드바이스에 대한 수신 결과 |
0400 | 취소 요청 | 거래 취소 |
0420 | 취소 어드바이스 | 취소 발생 결과 알림 |
0421 | 취소 어드바이스 반복 | 어드바이스에서 타임아웃 발생 시 |
0430 | 취소 응답 | 취소 어드바이스에 대한 수신 결과 |
0800 | 네트워크 관리 요청 | 에코 테스트, 개국, 폐국 등 |
0810 | 네트워크 관리 응답 | 에코 테스트, 개국, 폐국 등 |
0820 | 네트워크 관리 어드바이스 | 키 교환 |
3. 1. 1. ISO 8583 버전
메시지 유형 지표(MTI)의 첫 번째 숫자는 메시지가 인코딩된 ISO 8583 버전을 나타낸다. 각 코드별 의미는 다음과 같다.코드 | 의미 |
---|---|
0xxx | ISO 8583:1987 |
1xxx | ISO 8583:1993 |
2xxx | ISO 8583:2003 |
3xxx | ISO에서 예약됨 |
4xxx | |
5xxx | |
6xxx | |
7xxx | |
8xxx | 국내 사용 |
9xxx | 개별 회사/개인 사용 |
3. 1. 2. 메시지 클래스
메시지 유형 지표(MTI)의 두 번째 자릿수는 메시지의 전체적인 목적을 지정한다.값 | 의미 | 예 |
---|---|---|
x1xx | 승인 요청 | 거래를 승인하거나 거부할지를 결정한다. 듀얼 메시지 시스템(DMS)을 위해 결제 처리는 수행하지 않는다. |
x2xx | 금융 | 거래를 승인하는 경우, 싱글 메시지 시스템(SMS)을 위해 동시에 결제 및 정산 처리를 수행한다. |
x3xx | 파일 갱신 | 카드 정보 등의 갱신을 수행한다. |
x4xx | 취소 | 승인 요청 취소를 수행한다. |
x5xx | 교환 | 처리 건수 등의 갱신 정보를 전송한다. |
x6xx | 관리 | 시스템 관리 정보를 전송한다. 예를 들어 장애 발생으로 인한 취소 메시지 등에 사용된다. |
x7xx | 과금 | |
x8xx | 네트워크 관리 | 보안 키 교환, 개국, 에코 테스트 등의 네트워크 처리에 사용한다. |
x9xx | ISO 예약 값 |
3. 1. 3. 메시지 기능
MTI의 네 자리 숫자 중 세 번째 자리는 메시지 기능(message function)을 나타낸다. 이 숫자는 해당 메시지가 시스템 내에서 어떤 역할을 하는지, 예를 들어 요청인지, 응답인지, 아니면 단순 정보 전달(어드바이스)인지 등을 정의하여 메시지의 흐름을 결정한다.예를 들어, MTI 값이 `0110`인 경우를 살펴보자.
- `0xxx`: ISO 8583 버전 (예: 1987년판)
- `x1xx`: 메시지 클래스 (예: 승인 메시지)
- `xx1x`: 메시지 기능 (예: 요청에 대한 응답)
- `xxx0`: 메시지 원본 (예: 발신처)
여기서 세 번째 자리인 `1`은 이 메시지가 이전에 있었던 '요청'에 대한 '응답'임을 나타낸다.
ISO 8583 표준에서 정의하는 주요 메시지 기능은 다음과 같다. (MTI의 세 번째 자리 기준)
- `xxy0`: 요청 (Request) - 거래나 정보 처리를 시작하기 위해 보내는 메시지. (예: `0100` - 승인 요청, `0200` - 금융 요청, `0400` - 취소 요청, `0800` - 네트워크 관리 요청)
- `xxy1`: 요청 응답 (Request Response) - 이전에 받은 요청 메시지에 대한 처리 결과를 회신하는 메시지. (예: `0110` - 승인 응답, `0210` - 금융 요청 응답, `0810` - 네트워크 관리 응답)
- `xxy2`: 어드바이스 (Advice) - 특정 작업이 발생했음을 알리는 단방향 메시지. 응답이 필수적이지 않다. (예: `0120` - 승인 어드바이스, `0220` - 금융 어드바이스, `0420` - 취소 어드바이스, `0820` - 네트워크 관리 어드바이스)
- `xxy3`: 어드바이스 응답 (Advice Response) - 어드바이스 메시지를 잘 수신했음을 확인하는 응답. (예: `0130` - 승인 어드바이스 응답, `0230` - 금융 어드바이스 응답, `0430` - 취소 응답)
이 외에도 시스템 구현에 따라 추가적인 메시지 기능 코드가 사용될 수 있다. 메시지 기능 코드는 메시지의 처리 경로와 방식을 결정하는 중요한 요소이다.